package com.m4f.video.ifc;

import java.io.IOException;
import java.net.MalformedURLException;
import java.util.List;
import com.google.gdata.data.youtube.FormUploadToken;
import com.google.gdata.data.youtube.VideoEntry;
import com.google.gdata.util.AuthenticationException;
import com.google.gdata.util.ServiceException;
import com.m4f.video.exception.ContainerNotFoundException;

public interface IVideoService {
	
	FormUploadToken startVideoUpload(List<String> keywords, String title, String description, boolean isPrivate) throws ServiceException, IOException;
	
	void getUploadsVideos() throws MalformedURLException, IOException, ServiceException;
	
	List<VideoEntry> search(String phrase) throws IOException, ServiceException;
	
	boolean deleteVideo(String videoId) throws AuthenticationException;
	
	VideoEntry getVideoById(String videoId) throws MalformedURLException, IOException, ServiceException;
	
	void updateVideoData(String videoId, String title, String description, String location, List<String> keywords) throws MalformedURLException, IOException, ServiceException;
	
	String getErrorMessage(int errorCode);
	
}